/**
 * 页面跳转
 */

/**
 * @description 跳转到登录页
 */
export const login = () => {
  uni.reLaunch({
    url: '/pages/login/login',
    success: () => {
      // userStore.Logout()
    },
  })
}

/**
 * @description 跳转到首页
 */
export const index = () => {
  uni.reLaunch({
    url: '/pages/index/index',
  })
}

/**
 * @description 跳转到页面
 * @param {String} url 页面路径（绝对路径）
 * @param {*} params 参数，可以是字符串(key=value&key1=value1)、
 * @param {boolean} push
 */
export const to = (url: string, params?: string | object, push: boolean = false) => {
  if (url) {
    const path = url.indexOf('?') !== -1 ? url.split('?')[0] : url
    if (params) {
      if (typeof params === 'object') {
        const ps = Object.keys(params).map((key) => `${key}=${params[key]}`)
        if (Array.isArray(ps) && ps.length > 0) params = ps.join('&')
      } else {
        params = `params=${params}`
      }
    }
    if (params) url = `${url}?${params}`
    // 是否需要登录
    // if (AppConfig.whiteUrl.indexOf(path) != -1 || getToken()) {
    // 	if (push) {
    // 		uni.reLaunch({ url })
    // 	} else {
    // 		uni.navigateTo({ url })
    // 	}
    // } else {
    // 	login()
    // }
    if (push) {
      uni.reLaunch({ url })
    } else {
      uni.navigateTo({ url })
    }
  }
}

export const switchTab = (url) => {
  uni.switchTab({
    url,
  })
}

export const redirect = (url) => {
  uni.redirectTo({
    url,
  })
}

/**
 * @description 返回上一个页面
 * @param {Number} delta 返回的页面数
 */
export const back = (delta = 1) => {
  uni.navigateBack({
    delta,
  })
}

export default {
  login,
  index,
  to,
  back,
  switchTab,
}
